Systems and methods for automatic scale selection in real-time imaging

ABSTRACT

A system and method for automatic scale selection in real-time image and video processing and computer vision applications. In one aspect, a non-parametric variable bandwidth mean shift technique, which is based on adaptive estimation of a normalized density gradient, is used for detecting one or more modes in the underlying data and clustering the underlying data. In another aspect, a data-driven bandwidth (or scale) selection technique is provided for the variable bandwidth mean shift method, which estimates for each data point the covariance matrix that is the most stable across a plurality of scales. The methods can be used for detecting modes and clustering data for various types of data such as image data, video data speech data, handwriting data, etc.

CROSS-REFERENCE TO RELATED APPLICATION

[0001] This application claims priority to U.S. Provisional Application Serial No. 60/291,370, filed on May 16, 2001, which is fully incorporated herein by reference.

TECHNICAL FIELD

[0002] The present invention relates generally to a system and method for automatic scale selection for feature space analysis and partitioning in various applications, including, real-time imaging and video processing and computer vision applications. More specifically, the invention relates to a non-parametric variable bandwidth mean shift method that is based on adaptive estimation of a normalized density gradient to accurately detect one or more modes in underlying data and to cluster the data. The invention further relates to a data-driven bandwidth (or scale) selection technique for the variable bandwidth mean shift method, which estimates for each data point the covariance matrix that is the most stable across a plurality of scales.

BACKGROUND

[0003] Reliable data-driven bandwidth (or “scale”) selection for kernel-based nonparametric analysis of multivariate data is complex and largely unanswered by the current S techniques. Depending on the prior knowledge on input data, two classes of problems can be distinguished. If the data statistics are homogeneous, then one global bandwidth suffices for the analysis. If, however, the data statistics are changing across the feature space, local bandwidths should be computed. Unfortunately, most of the tasks encountered in autonomous vision reduce to the latter class of problems, i.e., the input is represented by multidimensional features, whose properties are variable in space (and might change in time). Examples of such tasks are background modeling, tracking, or segmentation.

[0004] Statistical methods compute the global bandwidth as the bandwidth that achieves the best balance between the bias and variance of the density estimate obtained with that bandwidth, over the entire space. For the univariate case, a reliable method for computing a global bandwidth is the known “plug-in rule” (see, e.g., S. J. Sheather, et al., “A Reliable Data-based Bandwidth Selection Method for Kernel Density Estimation”, J. Royal Statist. Soc. B. 53(3):683 690. 1991)), which has been shown to be superior to least squares cross validation and biased cross-validation estimation methods. The only assumption with the plug-in rule is the smoothness of the underlying density. Although the plug-in rule may be used to efficiently compute the global bandwidth, the global bandwidth is not effective when data exhibits multi-scale patterns. In addition, for the multivariate case, the optimal bandwidth formula is of little practical use, since it depends on the Laplacian of the unknown density being estimated.

[0005] Another global bandwidth selection approach relates to the stability of the decomposition. The bandwidth is taken as the center of the largest operating range over which the same number of partitions are obtained for the given data. This strategy is also implemented within the framework of scale-space theory and relies on the space homogeneity assumption. All the partitions should have roughly the same scale, which is not always true.

[0006] A commonly used method for computing local bandwidths follows Abramson's rule which takes the bandwidth proportional to the inverse of the square root of a first approximation of the local density (see, e.g., Abramson, “On Bandwidth Variation in Kernel Estimates—A Square Root Law”, The Annals of Statistics, 10(4):1217-1223, 1982). The proportionality constant is an important choice of the method.

[0007] In a different class of techniques, the optimal bandwidth maximizes an objective function, which expresses the quality of the decomposition and is called index of cluster validity. The objective function compares inter-versus intra-cluster variability, or evaluates the isolation and connectivity of the delineated clusters. Nevertheless, the choice of the objective function is most often empirical and lacks statistical significance.

[0008] The following discusses the fixed bandwidth kernel density estimation method (see, e.g., D. W. Scott, “Multivariate Density Estimation”, New York, Wiley, 1992). Given a set {x_(i)}_(i=1 . . . n) of n points in a d-dimensional space R^(d), the multivariate fixed bandwidth kernel density estimate with kernel K(x) and window radius (bandwidth) h, computed in the point x is defined by: $\begin{matrix} {{\hat{f}(x)} = {\frac{1}{n\quad h^{\quad d}}{\sum\limits_{l = 1}^{n}{K\left( \frac{x - x_{i}}{h} \right)}}}} & (1) \end{matrix}$

[0009] where the d-dimensional vectors {X_(i)}_(i=1 . . . n) represent a random sample from some unknown density f and the kernel, K, is taken to be a radially symmetric, non-negative function centered at zero and integrating to one. The terminology fixed bandwidth is due to the fact that h is held constant across xεR^(d). As a result, the fixed bandwidth procedure (1) estimates the density at each point x by taking the average of identically scaled kernels centered at each of the data points.

[0010] For pointwise estimation, the classical measure of the closeness of the estimator f to its target value f is the mean squared error (MSE), equal to the sum of the variance and squared bias:

MSE(x)=E[{circumflex over (f)}(x)−f(x)]² =Var({circumflex over (f)}(x)+[Bias({circumflex over (f)}(x)]²   (2)

[0011] Using the multivariate form of the Taylor theorem, the bias and the variance are approximated by: $\begin{matrix} {{{Bias}(x)} \approx {\frac{1}{2}h^{2}{\mu_{2}(K)}\Delta \quad {f(x)}}} & (3) \end{matrix}$

[0012] and

Var(x)≈n ⁻¹ h ^(−d) R(K)f(x)   (4)

[0013] where μ₂(K)=∫z₁ ²K(z)dz and R(K)=∫k(z)dz are kernel dependent constants, z₁ is the first component of the vector z, and Δ is the Laplace operator.

[0014] The tradeoff of bias versus variance can be observed in equations (3) and (4). The bias is proportional to h², which means that smaller bandwidths give a less biased estimator. However, decreasing h implies an increase in the variance which is proportional to n⁻¹h^(−d). Thus, for a fixed bandwidth estimator, h should be chosen so that an optimal compromise is achieved between the bias and variance over all xεR^(d), i.e., minimizes the minimum integrated squared error (MISE):

MISE(x)=E∫({circumflex over (f)}(x)−f(x))² dx   (5)

[0015] Nevertheless, the resulting bandwidth formula is of little practical use, since it depends on the Laplacian of the unknown density being estimated.

[0016] As noted above, an efficient data-driven methods for bandwidth selection is the “plug-in” rule, which has been proven to be superior to least squares cross validation and biased cross-validation. A practical one-dimensional algorithm based on the plug-in rule method is described below in Section A. For a discussion on the multivariate case, see M. P. Wand, et al., “Kernel Smoothing”, page 108, London: Chapman & Hall, 1995.

[0017] Note that these data-driven bandwidth selectors work well for multimodal data, their only assumption being a certain smoothness in the underlying density. However, the fixed bandwidth affects the estimation performance, by undersmoothing the tails and over-smoothing the peaks of the density. The performance also decreases when the data exhibits local scale variations.

[0018] There are known methods for estimating variable 5 bandwidths (e.g., Balloon and Sample Point Estimators). In particular, according to expression (1), the bandwidth h can be varied in two ways. First, by selecting a different bandwidth h=h(x) for each estimation point x, one can define the balloon density estimator: $\begin{matrix} {{{\hat{f}}_{1}(x)} = {\frac{1}{n\quad {h(x)}^{d}}{\sum\limits_{i = 1}^{n}{K\left( \frac{x - x_{i}}{h(x)} \right)}}}} & (6) \end{matrix}$

[0019] In this case, the estimate of f at x is the average of identically scaled kernels centered at each data point.

[0020] Second, by selecting a different bandwidth h=h(x₁) for each data point x_(i), we obtain the sample point density estimator: $\begin{matrix} {{{\hat{f}}_{2}(x)} = {\frac{1}{n}{\sum\limits_{i = 1}^{n}{\frac{1}{{h\left( x_{i} \right)}^{d}}{K\left( \frac{x - x_{i}}{h\left( x_{i} \right)} \right)}}}}} & (7) \end{matrix}$

[0021] for which the estimate of f at x is the average of differently scaled kernels centered at each data point.

[0022] While the balloon estimator has more intuitive appeal, its performance improvement over the fixed bandwidth estimator is insignificant. When the bandwidth h(x) is chosen as a function of the k-th nearest neighbor, the bias and variance are still proportional to h² and n⁻¹h^(−d), respectively. In addition, the balloon estimators usually fail to integrate to one.

[0023] The sample point estimators, on the other bands are themselves densities, being non-negative and integrating to one. Their most attractive property is that particular choice of h(x_(i)) considerably reduces the bias. Indeed, when h(x_(i)) is taken to be reciprocal to the square root of f(x_(i)): $\begin{matrix} {{h\left( x_{i} \right)} = {h_{0}\left\lbrack \frac{\lambda}{f\left( x_{i} \right)} \right\rbrack}^{1/2}} & (8) \end{matrix}$

[0024] the bias becomes proportional to h⁴ while the variance remains unchanged, proportional to n⁻¹H^(−d). In equation (8), h₀ represents a fixed bandwidth and λ is a proportionality constant.

[0025] Since f(x_(i)) is unknown, it has to be estimated from the data. The practical approach is to use one of the methods described in above to find h₀ and an initial estimate of the density (called the pilot estimate) of f denoted by {tilde over (f)}. Note that by using {tilde over (f)} instead of f in equation(8) , the nice properties of the sample point estimators in equation (7) remain unchanged. It is known that the method is insensitive to the fine detail of the pilot estimate. The only provision that should be taken is to bound the pilot density away from zero.

[0026] The final estimate (equation (7)), however, is influenced by the choice of the proportionality constant λ, which divides the range of density values into low and high densities. When the local density is low, i.e., {tilde over (f)}(x_(i))<λ, h(x_(i)) increases relative to h₀ implying more smoothing for the point x_(i). For data points that verify {tilde over (f)}(x_(i))>λ, the bandwidth becomes narrower.

[0027] A good initial choice is to take λ as the geometric mean of {{tilde over (f)}(x_(i))}_(i=1 . . . n). Experiments have shown that for superior results, a certain degree of tuning is required for λ. Nevertheless, the sample point estimator has been proven to be better than the fixed bandwidth estimator.

[0028] One fixed bandwidth method that has been proposed for the detection of modes is the “Mean Shift” method, the efficacy of which has been demonstrated in computer vision problems such as tracking and segmentation (see, e.g., Comaniciu, et al., “Mean Shift: A Robust Approach Toward Feature Space Analysis,” IEEE Transactions Pattern Analysis and Machine Intelligence, vol. 24, no. 5. pp. 603-619, 2002; and K. Fukunaga, et. al., “The Estimation of the Gradient of a Density Function,” IEEE Trans. Info. Theory, Vol. IT-21, 32-40, 1975).

[0029] A limitation of the mean shift procedure is that it involves the specification of a scale parameter. While results obtained appear satisfactory, when the local characteristics of the feature space differs significantly across data, it is difficult to find an optimal global bandwidth for the mean shift procedure.

[0030] Based on the above, there is a continuing need for fast and reliable methods for data-driven automatic bandwidth selection for purposes of feature space partitioning and analysis in, e.g., image processing applications.

SUMMARY OF THE INVENTION

[0031] The present invention relates generally to a system and method for automatic scale selection for feature space analysis and partitioning in various applications, including, real-time imaging and video processing and computer vision applications. More specifically, the invention relates to a non-parametric variable bandwidth mean shift method that is based on adaptive estimation of a normalized density gradient to accurately detect one or more modes in underlying data and to cluster the data. The invention further relates to a data-driven bandwidth (or scale) selection technique for the variable bandwidth mean shift method, which estimates for each data point the covariance matrix that is the most stable across a plurality of scales.

[0032] The methods described herein can be used for, e.g., detecting modes in data and clustering data for various types of data including, but not limited to, image data, video data, speech data, handwriting data, etc. The methods described herein in accordance with the invention may be implemented for various applications including, but not limited to, image segmentation, color segmentation, motion segmentation, speech processing, handwriting processing, OCR (optical character recognition), computer vision, tracking, etc, or any other method or application that is based on feature space analysis and partitioning.

[0033] In one aspect of the invention, a method for performing variable bandwidth selection comprises the steps of:

[0034] receiving one of image data, video data, speech data and handwriting data, and extracting feature data points from the data;

[0035] selecting a plurality of analysis scales;

[0036] for each analysis scale, partitioning the data into one or more modes and determining a mean/covariance pair for each mode, wherein each data point is associated with a detected mode and a corresponding mean/covariance pair of the mode for each of the analysis scales;

[0037] for each data point, determining the most stable mean/covariance pair associated with the data point; and

[0038] for each data point, selecting for output the covariance of the most stable mean/covariance pair as a variable bandwidth for the data point, wherein the variable bandwidths are used for analyzing features of the data.

[0039] In another aspect, a method for detecting modes in a set of data comprises the steps of:

[0040] receiving one of image data, video data, speech data and handwriting data, and extracting feature data points from the data;

[0041] determining a bandwidth for each data point; and

[0042] performing a variable bandwidth mean shift process for each data point using the bandwidth for the data point to detect modes in the data set. In a preferred embodiment, the process of determining a bandwidth for each data point is preferably performed using a data-driven variable bandwidth selection method for determining a local bandwidth (covariance matrix).

[0043] These and other objects, features and advantages of the present invention will be described or become apparent from the following detailed description of preferred embodiments, which is to be read in connection with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0044]FIG. 1 is a flow diagram of a method for mode detection using a variable bandwidth mean shift according to one aspect of the present invention.

[0045]FIGS. 2a-c are exemplary diagram of experimental results to compare the results of a fixed bandwidth mean shift process and a variable bandwidth mean shift process, wherein FIG. 2a presents a histogram of the data (n=250), FIG. 2b presents results of the variable bandwidth mean shift and FIG. 2c presents results of the fixed bandwidth mean shift.

[0046]FIG. 3 is a block diagram of a system and method for variable bandwidth selection and mode detection according to an embodiment of the present invention.

[0047]FIGS. 4a and 4 b are exemplary diagrams illustrating a local mean shift-based scale selection according to the present invention, wherein FIG. 4a depicts a histogram of data comprising n=2000 points and wherein FIG. 4b depicts the normalized mean shift as a function of scale for the points with a positive mean shift.

[0048]FIGS. 5a and 5 b are exemplary diagrams illustrating a partitioning method using mean shift trajectories according to the invention for variable bandwidth scale selection, wherein FIG. 5a depicts bivariate data comprising 100 points, and wherein FIG. 5b depicts the mean shift trajectory of the data points and the two modes superimposed on the density surface.

[0049]FIG. 6 is an exemplary diagram illustrating a method according to the present invention for fitting a normal surface to density values computed in trajectory points.

[0050]FIG. 7 is a method for mode detection using a data-driven variable bandwidth scale selection method according to an embodiment of the present invention.

[0051]FIGS. 8a and 8 b are exemplary diagrams illustrating results of a data-driven variable bandwidth selection method according to the invention, wherein FIG. 8a is a histogram of a bimodal data set, and wherein FIG. 8b illustrates a selected bandwidth for each data point.

[0052]FIGS. 9a and 9 b are further exemplary diagrams illustrating results of a data-driven variable bandwidth selection method according to the invention, wherein FIG. 9 a is a histogram of a data set, and wherein FIG. 9b illustrates a selected bandwidth for each data point.

[0053]FIGS. 10a and 10 b are exemplary diagrams illustrating results of a data-driven variable bandwidth selection method according to the invention, wherein FIG. 10a is a histogram of a bivariate data set, and wherein FIG. 10b illustrates a selected bandwidth for each data point.

[0054]FIGS. 11a-11 d are exemplary diagrams illustrating results of data driven variable bandwidth selection and clustering methods according to the present invention, analyzing non-linear data structures with multiple scales, wherein FIG. 11a depicts the input data, and wherein FIG. 11b depicts the results of clustering the data using the selected scales for the x coordinates shown in FIG. 11c and using the selected scales for the y coordinates shown in FIG. 11d.

[0055]FIG. 12 is a flow diagram illustrating a method for performing an adaptive mean shift segmentation method according to an embodiment of the present invention.

[0056]FIG. 13 is a block diagram of a system and method for providing illumination invariant segmentation of image data according to an embodiment of the present invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0057] The following detailed description of preferred embodiments is divided into the following sections for ease of reference:

[0058] Section 1 discusses variable Bandwidth Mean Shift (VBMS) methods for feature space partitioning and analysis (e.g., mode detection and data clustering) in complex feature spaces. A VBMS method according to the invention preferably employs an adaptive estimator of the normalized gradient of the density to detect modes in underlying data. In a preferred embodiment, the adaptive estimator is derived from the sample point estimator of equation (7).

[0059] Section 2 describes data driven scale selection methods for automatic scale selection and mode detection in a complex feature space. Preferably, a data-driven scale selection method according to the invention performs multi-scale analysis on the data at multiple scales to detect modes associated with the data points. For each data point, the stability of the features (mean, covariance) of the associated mode are tested across the different scales to determine the most stable scale. The local scale of the underlying density is estimated as the bandwidth which maximizes the magnitude of the normalized mean shift vector. Section 2 further describes a method for analyzing complex, multivariate feature space using a data driven scale selection for determining local bandwidths and using a variable-bandwidth mean shift method that employs the local bandwidths to perform mode detection and clustering. Section 2 further presents experimental results for data analysis using the methods described herein.

[0060] Section 3 describes autonomous methods for segmenting video data using the scale selection and VBMS methods described herein.

[0061] Section 4 describes autonomous methods for providing illumination invariant segmentation of image data using the scale selection and VBMS methods described herein.

[0062] Section 5 describes the one dimensional “plug-in” method for bandwidth selection.

[0063] Section 6 describes a convergence proof for a VBMS method according to the present invention.

[0064] Section 7 describes how the magnitude of the bandwidth normalized mean shift vector m(x; H) is maximized when H is equal to the covariance. In a data-driven bandwidth selection method according to the invention (e.g., section 2), the local scale of the underlying density is estimated as the bandwidth which maximizes the magnitude of the normalized mean shift vector.

[0065] Section 8 describes a derivation of an extension of the Jensen-Shannon divergence method according to the present invention, which is used in a data-driven scale selection method of the invention to test the stability of the local bandwidth for a given data point across the scales.

[0066] It is to be understood that the systems and methods described herein in accordance with the present invention may be implemented in various forms of hardware, software, firmware, special purpose processors, or a combination thereof. Preferably, the present invention is implemented in software as an application comprising program instructions that are tangibly embodied on one or more program storage devices (e.g., magnetic floppy disk, RAM, CD ROM, ROM and Flash memory), and executable by any device or machine comprising suitable architecture.

[0067] It is to be further understood that since the constituent system modules and method steps depicted in the accompanying Figures are preferably implemented in software, the actual connections between the system components (or the flow of the process steps) may differ depending upon the manner in which the present invention is programmed. Given the teachings herein, one of ordinary skill in the related art will be able to contemplate these and similar implementations or configurations of the present invention.

[0068] 1. Variable Bandwidth Mean Shift

[0069] In accordance with one aspect of the invention, an adaptive estimator of the density's normalized gradient is defined from the sample point estimator (equation (7)). The new estimator, which associates to each data point a differently scaled kernel, is the basic step for an iterative procedure which (as demonstrated herein) converges to a local mode of the underlying density, when the kernel obeys some mild constraints. This procedure is referred to herein as the Variable Bandwidth Mean Shift method. Due to its excellent statistical properties, it is anticipated the adaptive estimator will be extensively used in vision applications (and various other applications) that require minimal human intervention.

[0070] 1(a) Definitions:

[0071] To simplify notations, we proceed by introducing first the profile of a kernel K as a function k:[0,∞)→R such that K(x)=k(∥x∥²). We also denote h_(i)=h(x_(i)) for all i=1. . . n. Then, the sample point estimator (7) can be written as: $\begin{matrix} {{{\hat{f}}_{K}(x)} = {\frac{1}{n}{\sum\limits_{i = 1}^{n}{\frac{1}{h_{i}^{d}}{k\left( {\frac{x - x_{i}}{h_{i}}}^{2} \right)}}}}} & (9) \end{matrix}$

[0072] where the subscript K indicates that the estimator is based on kernel K.

[0073] A natural estimator of the gradient of f is the gradient of {circumflex over (f)}_(K)(x): $\begin{matrix} \begin{matrix} {{{\hat{\nabla}{f_{K}(x)}} \equiv \quad {\nabla{{\hat{f}}_{K}(x)}}} = {\frac{2}{n}{\sum\limits_{i = 1}^{n}{\frac{x - x_{i}}{h_{i}^{d + 2}}{k^{\prime}\left( {\frac{x - x_{i}}{h_{i}}}^{2} \right)}}}}} \\ {= \quad {\frac{2}{n}{\sum\limits_{i = 1}^{n}{\frac{x_{i} - x}{h_{i}^{d + 2}}{g\left( {\frac{x - x_{i}}{h_{i}}}^{2} \right)}}}}} \\ {= \quad {{\frac{2}{n}\left\lbrack {\sum\limits_{i = 1}^{n}{\frac{1}{h_{i}^{d + 2}}{g\left( {\frac{x - x_{i}}{h_{i}}} \right)}^{2}}} \right\rbrack} \times}} \\ {\quad \underset{\text{variable~~bandwidth~~mean~~shift~~vector}}{\underset{}{\left\lbrack {\frac{\sum\limits_{i = 1}^{n}{\frac{x_{i}}{h_{i}^{d + 2}}{g\left( {\frac{x - x_{i}}{h_{i}}}^{2} \right)}}}{\sum\limits_{i = 1}^{n}{\frac{1}{h_{i}^{d + 2}}{g\left( {\frac{x - x_{i}}{h_{i}}}^{2} \right)}}} - x} \right\rbrack}}} \end{matrix} & (10) \end{matrix}$

[0074] where we denoted

g(k′(x)   (11)

[0075] and assumed that the derivative of profile k exists for all xε[0,∞) except for a finite set of points.

[0076] The last bracket in equation (10) represents the variable bandwidth mean shift vector: $\begin{matrix} {{M_{v}(x)} = {\frac{\sum\limits_{i = 1}^{n}{\frac{x_{i}}{h_{i}^{d + 2}}{g\left( {\frac{x - x_{i}}{h_{i}}}^{2} \right)}}}{\sum\limits_{i = 1}^{n}{\frac{1}{h_{i}^{d + 2}}{g\left( {\frac{x - x_{i}}{h_{i}}}^{2} \right)}}} - x}} & (12) \end{matrix}$

[0077] To see the significance of expression (12), we define first the kernel G as

G(x)=Cg(∥x∥ ²)   (13)

[0078] where C is a normalization constant that forces G to integrate to one.

[0079] Then, by employing equation (8), the term that multiplies the mean shift vector in equation (10) can be written as: $\begin{matrix} {{{\frac{2}{n}\left\lbrack {\sum\limits_{i = 1}^{n}{\frac{1}{h_{i}^{d + 2}}{g\left( {\frac{x - x_{i}}{h_{i}}}^{2} \right)}}} \right\rbrack} = {{\frac{2}{C}\left\lbrack \frac{\sum\limits_{i = 1}^{n}{\overset{\sim}{f}\left( x_{i} \right)}}{n\quad \lambda \quad h_{0}^{2}} \right\rbrack}{{\hat{f}}_{G}(x)}}}\text{where}} & (14) \\ {{{\hat{f}}_{G}(x)} \equiv {C\quad \frac{\sum\limits_{i = 1}^{n}{{\overset{\sim}{f}\left( x_{i} \right)}\frac{1}{h_{i}^{d}}{g\left( {\frac{x - x_{i}}{h_{i}}}^{2} \right)}}}{\sum\limits_{i = 1}^{n}{\overset{\sim}{f}\left( x_{i} \right)}}}} & (15) \end{matrix}$

[0080] is nonnegative and integrates to one, representing an estimate of the density of the data points weighted by the pilot density values {tilde over (f)}(x_(i))

[0081] Finally, by using equations (10, (12), and (14), it results that: $\begin{matrix} {{M_{v}(x)} = {\frac{\lambda}{n^{- 1}{\sum\limits_{i = 1}^{n}{\overset{\sim}{f}\left( x_{i} \right)}}}\frac{h_{0}^{2}}{2/C}{\frac{\hat{\nabla}{f_{K}(x)}}{{\hat{f}}_{G}(x)}.}}} & (16) \end{matrix}$

[0082] Equation (16) represents a generalization of the fixed bandwidth mean shift equation, ${{M(x)} = {\frac{h^{2}}{\frac{2}{c}}\frac{\hat{\nabla}\quad {f_{K}(x)}}{{\hat{f}}_{G}(x)}}},$

[0083] and shows that the adaptive bandwidth mean shift is an estimator of the normalized gradient of the underlying density.

[0084] The proportionality constant, however, depends on the value of λ. Whenλ is increased, the norm of the mean shift vector also increases. On the other hand, a small value for λ implies a small ∥M_(v)∥. As demonstrated herein, due to this external variability of the mean shift norm, the convergence property of an iterative procedure according to one embodiment of the present invention based on the variable bandwidth mean shift is remarkable. Note also that when λ is taken equal to the arithmetic mean of {{tilde over (f)}(x_(i))}_(i=1 . . . n) the proportionality constant becomes as in the fixed bandwidth case.

[0085] 1(b) Properties of the Adaptive Mean Shift

[0086] Equation (12) shows an attractive behavior of the adaptive estimator. The data points lying in large density regions affect a narrower neighborhood since the kernel bandwidth h_(i) is smaller, but are given a larger importance, due to the weight 1/h_(i) ^(d+2). In contrast, the points that correspond to the tails of the underlying density are smoothed more and receive a smaller weight. The extreme points (outliers) receive very small weights, being thus automatically discarded. Recall that the fixed bandwidth mean shift associates the same kernel for each data point.

[0087] An important property of the adaptive estimator is the convergence associated with its repetitive computation. In other words, if we define a mean shift procedure recursively as the evaluation of the mean shift vector M_(v)(x) followed by the translation of the kernel G by M_(v)(x), this procedure leads to a local mode in the underlying density. More specifically, as demonstrated below, this mode represents a local maximum of the sample point estimator of equation (9). Thus, the superior performance of the sample point estimator translates into superior performance for the adaptive mean shift.

[0088] We denote by {Y_(j)}_(j=1,2 . . .) the sequence of successive locations of the kernel G, where: $\begin{matrix} {{y_{j + 1} = \frac{\sum\limits_{i = 1}^{n}{\frac{x_{i}}{h_{i}^{d + 2}}{g\left( {\frac{y_{j} - x_{i}}{h_{i}}}^{2} \right)}}}{\sum\limits_{i = 1}^{n}{\frac{1}{h_{i}^{d + 2}}{g\left( {\frac{y_{j} - x_{i}}{h_{i}}}^{2} \right)}}}},{j = 1},2,\ldots} & (17) \end{matrix}$

[0089] is the weighted mean at y_(j) computed with kernel G and weights 1/h_(i) ^(d+2), and y_(l) is the center of the initial kernel. The density estimates computed with kernel K in the points (17) are;

{circumflex over (f)} _(K) ={{circumflex over (f)} _(K)(j)}_(j=1,2 . . .) ={{circumflex over (f)} _(K)(y _(j))}_(j=1,2 . . .)   (18)

[0090] In section 6 below, it is demonstrated that if the kernel K has a convex and monotonic decreasing profile and the kernel G is defined according to equations (11) and (13), the sequences of equations (17) and (18) are convergent. This means that the mean shift procedure, initialized at a given location, converges at a nearby point where the estimator of equation (9) has zero gradient. In addition, since the modes of the density are points of zero gradient, it results that the convergence is point is a mode candidate.

[0091] An advantage of using the mean shift rather than the direct computation of (9) followed by a search for local maxima is twofold. First, the overall computational complexity of the mean shift is much smaller that of the direct method and the mean shift does not need an underlying lattice for the computations. In contrast, the direct search for maxima of the density function needs a regular lattice and requires a number of density function evaluations that increases exponentially with the space dimension. Second, for many applications, we only need to know the mode associated with a reduced set of data points. In this case, the mean shift procedure becomes a natural process that follows the trail to the local mode.

[0092] Referring now to FIG. 1, a flow diagram illustrates a method for mode detection using a variable bandwidth mean shift according to one aspect of the present invention. More specifically, FIG. 1 depicts an iterative procedure for mode detection based on the variable bandwidth mean shift in a one-dimensional space.

[0093] First, given a set of data points {x_(i)}_(i=1 . . . n) (step 1), a fixed bandwidth h₀ is derived using the one-dimensional rule (Section 5) and a pilot estimate {tilde over (f)} is determined using equation (1) with h=h₀, (step 2). Then, the proportionality constant is determined as log $\lambda = {n^{- 1}{\sum\limits_{i = 1}^{n}{\log \quad {\hat{f}\left( x_{i} \right)}}}}$

[0094] (step 3). Then, for each data point x_(i), an adaptive bandwidth is computed by h(x_(i))=h₀[λ/{tilde over (f)}(x_(i))]^(½) (step 4). Then, initialize y₁ with the location of interest and compute iteratively using equation (17) until convergence (step 5). The convergence point is a point of zero gradient, hence, a mode candidate.

[0095] In another embodiment of the present invention, a multi-dimensional model for the Variable Bandwidth Mean Shift with fully parameterized bandwidth matrices is provided. In particular, we generalize the derivations presented above for the case when a fully parameterized matrix H_(i) is given for each data point x_(i). The matrix H_(i) quantifies the uncertainty associated with x_(i). In accordance with the present invention, a sample point estimator with a d-variate normal kernel is given by: $\begin{matrix} {{{\hat{f}}_{v}(x)} = {\frac{1}{{n\left( {2\pi} \right)}^{\frac{d}{2}}}{\sum\limits_{i = 1}^{n}{\frac{1}{{H_{i}}^{\frac{1}{2}}}\exp\left( \left( {{- \frac{1}{2}}{d^{2}\left( {x,x_{i},H_{i}} \right)}} \right) \right.}}}} & (19) \end{matrix}$

[0096] Let H_(h) be the data-weighted harmonic mean of the bandwidth matrices computed at x: $\begin{matrix} {{H_{h}^{- 1}(x)} = \frac{\sum\limits_{i = 1}^{n}{\frac{H_{i}^{- 1}}{{H_{i}}^{\frac{1}{2}}}{\exp \left( {{- \frac{1}{2}}{d^{2}\left( {x,x_{i},H_{i}} \right)}} \right)}}}{\sum\limits_{i = 1}^{n}{\frac{1}{{H_{i}}^{\frac{1}{2}}}{\exp \left( {{- \frac{1}{2}}{d^{2}\left( {x,x_{i},H_{i}} \right)}} \right)}}}} & (20) \end{matrix}$

[0097] An estimator of the gradient of the true density is the gradient of {circumflex over (f)}_(v): $\begin{matrix} \begin{matrix} {{{\hat{\nabla}{f_{v}(x)}} \equiv {\nabla{{\hat{f}}_{v}(x)}}} = \quad {\frac{1}{{n\left( {2\pi} \right)}^{\frac{d}{2}}}{\sum\limits_{i = 1}^{n}{\frac{H_{i}^{- 1}\left( {x_{i} - x} \right)}{{H_{i}}^{\frac{1}{2}}}\exp}}}} \\ {\quad \left( {{- \frac{1}{2}}{d^{2}\left( {x,x_{i},H_{i}} \right)}} \right)} \end{matrix} & (21) \end{matrix}$

[0098] By multiplying (21) to the left with H_(h)(x) and using (19), it results that:

Ĥ _(h)(x)∇f _(v)(x)={circumflex over (f)} _(v)(x)m _(v)(x)   (22)

[0099] where $\begin{matrix} {{m_{v}(x)} \equiv {\frac{\sum\limits_{i = 1}^{n}{\frac{H_{i}^{- 1}x_{i}}{{H_{i}}^{\frac{1}{2}}}{\exp \left( {{- \frac{1}{2}}{d^{2}\left( {x,x_{i},H_{i}} \right)}} \right)}}}{\sum\limits_{i = 1}^{n}{\frac{H_{i}^{- 1}}{{H_{i}}^{\frac{1}{2}}}{\exp \left( {{- \frac{1}{2}}{d^{2}\left( {x,x_{i},H_{i}} \right)}} \right)}}} - x}} & (23) \end{matrix}$

[0100] is the variable-bandwidth mean shift vector. Note that in definition (23) we used the notation B⁻¹A=A/B for any two square, nonsingular matrices A and B. Finally, from (22), we have: $\begin{matrix} {{m_{v}(x)} = {{H_{h}(x)}\frac{\hat{\nabla}{f_{v}(x)}}{{\hat{f}}_{v}}}} & (24) \end{matrix}$

[0101] which shows that the variable-bandwidth mean shift vector is an estimator of the normalized gradient of the underlying density.

[0102] If the bandwidth matrices H_(i) are all equal to a fixed matrix H_(i) the sample point estimator (19) reduces to the simple multivariate density estimator with normal kernel: $\begin{matrix} {{\hat{f}(x)} = {\frac{1}{n{{2\pi \quad H}}^{\frac{1}{2}}}{\sum\limits_{i = 1}^{n}{\exp \left( {{- \frac{1}{2}}{d^{2}\left( {x,x_{i},H} \right)}} \right)}}}} & (25) \end{matrix}$

[0103] The gradient estimator is in this case: $\begin{matrix} {{\hat{\nabla}{f(x)}} \equiv {{\nabla{\hat{f}(x)}}\begin{matrix} {= \quad {\frac{H^{- 1}}{n{{2\pi \quad H}}^{\frac{1}{2}}}{\sum\limits_{i = 1}^{n}{\left( {x_{i} - x} \right)\exp}}}} \\ {\quad \left( {{- \frac{1}{2}}{d^{2}\left( {x,x_{i},H} \right)}} \right)} \end{matrix}}} & (26) \end{matrix}$

[0104] and the equation (24) becomes: $\begin{matrix} {{m(x)} = {H\frac{\hat{\nabla}\quad {f(x)}}{\hat{f}(x)}\quad {where}}} & (27) \\ {{m(x)} \equiv {\frac{\sum\limits_{i = 1}^{n}{x_{i}{\exp \left( {{- \frac{1}{2}}{d^{2}\left( {x,x_{i},H} \right)}} \right)}}}{\sum\limits_{i = 1}^{n}{\exp \left( {{- \frac{1}{2}}{d^{2}\left( {x,x_{i},H} \right)}} \right)}} - x}} & (28) \end{matrix}$

[0105] is the fixed bandwidth mean shift vector.

[0106] 1(c) Performance Comparison

[0107] We compared the variable and fixed bandwidth mean shift algorithms for various multimodal data sets that exhibited also scale variations. The fixed bandwidth procedure was run with a bandwidth h₀ derived from the plug-in rule given in Section 5.

[0108] The plug-in rule was developed for density estimation and since here we are concerned with density gradient estimation, it is preferable to use a larger bandwidth to compensate for the inherently increased sensitivity of the estimation process. We have modified the plug-in rule by halvening the contribution of the variance term. This change was maintained for experiments presented in this disclosure. The constant λ of the adaptive procedure was kept as the geometric mean of {{tilde over (f)}(x_(i))}_(i=1 . . . n).

[0109]FIGS. 2a, 2 b and 2 c are exemplary diagrams comparing experimental results of a fixed bandwidth mean shift process and a variable bandwidth mean shift process. FIG. 2a presents a histogram of the data (n=250), FIG. 2b presents results of the variable bandwidth mean shift and FIG. 2c presents results of the fixed bandwidth mean shift.

[0110] As can be gleaned from FIGS. 2a-c, the fixed bandwidth shift resulted in good performance for the locations where the local scale was in the medium range. However, the very narrow peaks were fused, while the tails were broken into pieces. In contrast, the adaptive algorithm resulted in superior performance, by choosing a proper bandwidth for each data point.

[0111] 2. Data-Driven Scale Selection

[0112] The previous Section 1 followed purely nonparametric ideas, since no formal structure was assumed about the data. Implying only a certain smoothness of the underlying density we used available algorithms for scale selection to derive an initial bandwidth h₀. The criterion for bandwidth selection was a global measure (MISE), hence, h₀ achieved an optimal compromise between the integrated squared bias and the integrated variance. Then, we modified this bandwidth for each data point, according to the local density.

[0113] The analysis of visual features, for example, often requires nonparametric techniques with locally adaptive bandwidths. Accurate results are obtained when each data point is characterized by a bandwidth matrix that quantifies local uncertainty. For this scenario, the variable-bandwidth mean shift technique discussed above yields superior feature space partitioning and analysis.

[0114] In most scenarios, however, the uncertainty of data points is not known a priori and has to be estimated from the data. In this section, according to another embodiment of the invention, we present a mean shift-based approach for local bandwidth selection in the multimodal, multivariate case. This method is essentially based on a fundamental property of normal (Guassian) distributions regarding the bias of the normalized density gradient. It is demonstrated that within the large sample approximation, the local covariance of the underlying distribution is estimated by the matrix that maximizes the magnitude of the normalized mean shift vector. By imposing a local structure on the data and exploiting the mean shift trajectory, a reliable algorithm according to the invention is described that takes into account the stability of local bandwidth estimates across scales. The validity of the theoretical results is proven in various experiments described herein.

[0115] In this application, we present a new and effective 15 approach to local bandwidth selection for multimodal and multivariate data. The goal is to estimate for each data point the covariance matrix which is the most stable across scales. This matrix will be taken as the local bandwidth of the point in question and further used in the variable-bandwidth mean shift.

[0116] The motivation of a local bandwidth selection method according to the invention is given in Section 2(A). Section 2(B) presents a theoretical criterion for bandwidth selection, based on the normalized mean shift vector. Section 2 (C) discusses details of a local bandwidth selection method according to an embodiment of the invention and presents the results of bandwidth selection experiments using such method. In Section 2(D), we apply the variable-bandwidth mean shift to decompose multi-scale non-linear data. Discussions are presented in Section 2 (E),

[0117] 2(A) Motivation

[0118] A goal of variable-bandwidth density estimation is to improve the performance of kernel estimators by adapting the kernel bandwidth to the local data statistics. As noted above, sample point density estimators are of particular interest since their estimation bias decreases in comparison to the fixed bandwidth estimators, while the Is covariance remains the same. Only recently have these density estimators have been used for vision purposes. The variable bandwidth mean shift method algorithm discussed herein provides a solution for mode detection in complex feature spaces. Variable-bandwidth density estimation has been applied for histogram construction from color variants (see T. Gevers, “Robust Histogram Construction From Color Invariants”, In Proceedings International Conference on Computer Vision, Vancouver, Canada, Vol. 1, pages 615-620, July 2001.) Although theoretically promising, variable-bandwidth methods rely heavily on the selection of local bandwidths

[0119] Recall that in the general framework of unsupervised analysis, most of the parameters (including the kernel bandwidth) must be estimated directly from the data. In accordance with the present invention, we only assume that the range of scales at which structures appear in the data is known. In almost all vision scenarios, for example, this information is available from prior geometric, camera, or dynamical constraints. A preferred solution for scale selection according to the present invention is to perform multi-scale analysis in the given scale range and to locally test the stability of the first and second order statistical properties of the data. This solution recognizes the importance of analysis at multiple scales. At the same time, the solution stresses the importance of measurements in local neighborhoods and the inability of global measures to deal with non-homogeneous data.

[0120]FIG. 3 is a block diagram of a system and method for local bandwidth selection and feature space analysis according to an embodiment of the present invention. In general, the system comprises a variable bandwidth selection module 30 for selecting optimal bandwidths which are used in module 31 for performing a VBMS procedure according to the present invention. In general, module 32 performs multi-scale analysis on the underlying data space by applying the fixed bandwidth mean shift procedure with different analysis scales. In module 33, trajectory points and the mean shift vectors are used to fit a normal surface to the density of each identified structure. For each data point, module 34 determines and selects the most stable covariance matrix (associated with the data point) across the different scales. Finally, in module 31, the covariance matrices are used in the variable-bandwidth mean shift for feature space analysis and partition. A more detailed description of the function of each of the system modules in FIG. 3 is provided below.

[0121] In general, a data-driven variable bandwidth selection method according to one aspect of the present invention is as follows. For a given analysis scale, each data point is associated with a local structure. When the analysis is performed at multiple scales, the point is associated with a set of local structures whose feature properties it inherits. A new technique involving the mean shift trajectories is exploited at this stage to estimate the true mean and covariance matrix of each local structure. The stability of these features is then checked across scales to determine the most relevant scale using a specialized version of the Jensen-Shannon divergence according to the present invention.

[0122] For covariance matrix computation, we exploit a fundamental property of the normalized gradient of normal distributions, whose estimate has been proven to be proportionally downward biased, The direct consequence of this property is that, within the large sample approximation, the estimation bias can be canceled, allowing the estimation of the true local covariance of the to underlying distribution. We show that the local covariance is estimated by the matrix which maximizes the magnitude of the normalized mean shift vector. Although this property imposes a local, parametric structure on the data, note that the overall technique of the invention maintains a nonparametric nature. The data partitioning for each analysis scale is achieved through fixed-bandwidth mean shift iterations.

[0123] The last step of the overall algorithm involves the variable-bandwidth mean shift process, which makes use of the previously determined bandwidth matrices. Thus, the data-driven scale selection technique benefits from a reliable bandwidth selection, while maintaining the ability of analyzing complex, non-normal structures.

[0124] 2(B) Criterion for Bandwidth Selection

[0125] After the introduction of the main notations, this section presents a property of the normalized density gradients that will be used as a basic criterion in estimating the scale.

[0126] 2(B)(i) Notations

[0127] Given n data points x_(i),i=1 . . . n in the d-dimensional space R^(d), the multivariate kernel density estimator with kernel K(x) and a symmetric positive definite d×d bandwidth matrix H. computed at the point x is given by: $\begin{matrix} {{\hat{f}(x)} = {\frac{1}{n}{\sum\limits_{i = 1}^{n}{K_{H}\left( {x - x_{i}} \right)}}}} & (29) \end{matrix}$

[0128] where

K _(H)(x)=|H| ^(−½)K(H ^(−½)x)   (30)

[0129] The d-variate kernel K, is a bounded function that has compact support and integrates to one. Preferably, K is taken as the standard d-variate normal density: $\begin{matrix} {{K(x)} = {\frac{1}{\left( {2\pi} \right)^{\frac{d}{2}}}{\exp \left( {{- \frac{1}{2}}{x}^{2}} \right)}}} & (31) \end{matrix}$

[0130] which implies that K_(H)(x−x_(i)) is the N(x_(i), H) density. H is referred to herein as analysis bandwidth. For notation convenience let:

d ²(x,x ₁ , H)=(x−x _(i))^(T) H ⁻¹(x−x _(i))   (22)

[0131] be the Mahalanobis distance from x to x_(i). The estimator (29) becomes: $\begin{matrix} {{\hat{f}(x)} - {\frac{1}{n{{2\quad \pi \quad H}}^{\frac{1}{2}}}{\sum\limits_{i = 1}^{n}{\exp \left( {{- \frac{1}{2}}{d^{2}\left( {x,x_{i},,H} \right)}} \right)}}}} & (33) \end{matrix}$

[0132] We will also need the fixed-bandwidth mean shift vector $\begin{matrix} {{m(x)} \equiv {\frac{\sum\limits_{i = 1}^{n}{\exp \left( {{- \frac{1}{2}}{d^{2}\left( {x,x_{i},H} \right)}} \right)}}{\sum\limits_{i = 1}^{n}{\exp \left( {{- \frac{1}{2}}{d^{2}\left( {x,x_{i},H} \right)}} \right)}} - {x\quad \text{to be equal to}}}} & \left( {{equation}\quad (28)} \right) \\ {{m(x)} = {H{\frac{\hat{\nabla}\quad {f(x)}}{\hat{f}(x)}.}}} & \left( {{equation}\quad (27)} \right) \end{matrix}$

[0133] 2(B)(ii) Bandwidth Selection Theorem

[0134] We assume that locally the underlying distribution the point x is multivariate normal with unknown mean μ and covariance matrix Σ. The parametric bandwidth selection requires the estimation of Σ, a difficult talk at first sight. Indeed, to locally fit a normal to the multimodal data, one needs a priori knowledge of the neighborhood size in which the fitting parameters are to be estimated. If the estimation is performed for several neighborhood sizes, a scale invariant measure of the goodness of fit is needed.

[0135] In accordance with the present invention, however, the following theorem presents an elegant solution to such problem. The following theorem is valid when the number of available samples is large.

[0136] Theorem 1: If the true distribution f is N(μ, Σ) and the fixed-bandwidth mean shift is computed with a normal kernel K_(H), then, the bandwidth normalized norm of the mean shift vector is maximized when the analysis bandwidth H is equal to Σ.

[0137] Proof: Since the true distribution f is normal with covariance matrix Σ, it follows that the mean of {circumflex over (f)}(x),E[{circumflex over (f)}(x)]≅ø(x;,Σ+H) is also a normal surface with covariance Σ+H. Likewise, since the gradient is a linear operator, using equation (26), we have E[∇{circumflex over (f)}(x)]=∇Φ(x;Σ+H). We assume that the large sample approximation is valid, i.e., the variances of the means are relatively small. By employing ${{m(x)} = {H\frac{\hat{\nabla}\quad {f(x)}}{\hat{f}(x)}}},$

[0138] this implies that: $\begin{matrix} \begin{matrix} {{{plim}\quad {m(x)}} = {{H\frac{E\left\lbrack {\nabla{\hat{f}(x)}} \right\rbrack}{E\left\lbrack {\hat{f}(x)} \right\rbrack}} = {H\frac{\nabla\quad {\varphi \left( {x;{\sum{+ H}}} \right)}}{\varphi \left( {x;{\sum{+ H}}} \right)}}}} \\ {= {{- {H\left( {\sum{+ H}} \right)}^{- 1}}\left( {x - \mu} \right)}} \end{matrix} & (34) \end{matrix}$

[0139] where plim denotes probability limit with H held constant. The norm of the bandwidth normalized mean shift is given by

m(x;H)≅∥H ^(−½) p plim m(x)∥≅∥H ^(½)(Σ+H)⁻¹(x−μ)∥  (35)

[0140] It is demonstrated in Section 7 below that the magnitude of the bandwidth normalized mean shift vector m(x; H) is maximized when H=Σ.

[0141] Theorem 1 above leads to an interesting scale selection criterion: the underlying distribution has the local covariance equal to the analysis bandwidth H that maximizes the magnitude of the normalized mean shift vector. The scale selection process would involve the maximization of m(x;H) across the space of symmetric and positive definite matrices H. The main idea of this property is underlined in FIGS. 4a and 4 b. FIG. 4a illustrates a histogram of the input data of n=2000 points with N(10,4). The bandwidth normalized mean shift vectors associated with the points shown in FIG. 4a are represented as a function of scale in FIG. 4b. The upper curves correspond to the points located far from the mean. The curves are maximized for h₀=4. Note the accurate local scale indication by the maxima of the curves.

[0142] 2(C) Algorithm for Bandwidth Selection

[0143] This section describes methods for (i) determining trajectories of the mean shift procedure, (ii) determining a covariance matrix using a least squares solution; and (iii) determining the stability of the bandwidth selection process using a method based on the Jensen-Shannon divergence. In addition, a method for bandwidth selection according to an embodiment of the present invention is described with reference to FIG. 7, and experimental results are presented in FIGS. 8-11 illustrating the advantages of the present invention.

[0144] 2(C)(i) Mean Shift Trajectories

[0145] Section 2(B)(ii) set forth the theoretical framework for bandwidth selection by assuming that, locally, the underlying distribution is normal. In practice, however, the input data is multi-modal with asymmetric structures, while neighboring structures might contaminate each other. Therefore, a robust decision should be based not only on point information (i.e., the normalized mean shift vector of data point x), but also on information associated with the underlying structure to which the data point belongs. This information is of more global nature and is preferably computed using mean shift trajectories.

[0146] Recall that a mode seeking algorithm can be obtained by exploiting the mean shift vector (equation (27)). The iterative computation of m(x) followed by the translation of the kernel K_(H)(x) by m(x) converges to a nearby location where the density estimate has zero gradient. As an example, FIG. 5b illustrates trajectories of the mean shift procedure applied to the data points shown in FIG. 5a. As indicated in FIG. 5b, two modes are identified (P1 and P2) and the data is partitioned into two structures by grouping together all the trajectories which converged to the same mode. The decomposition depends on the analysis bandwidth H.

[0147] 2(C)(ii) Least Squares Solution

[0148] Let us denote by x_(i),i=1 . . . n_(u) all the data points associated with the u-th mode and by y_(i),i=1 . . . t_(u) the location of all trajectory points associated with the same mode. The partitioning is obtained using the mean shift procedure with analysis bandwidth H. Assume that (μ, Σ) are the mean and covariance of the underlying structure.

[0149] The mean and covariance of the points x_(i),i=. . . n_(u), are not reliable estimates of (μ, Σ). The reason is that the data partitioning is nonparametric, based on the peaks and valleys of the density probability function of the entire data set. As a result, the set x_(i),i=1 . . . n_(u) is an incomplete sample from the local underlying distribution. It can be asymmetric (depending on the neighboring structures) and it might not contain the tail. Hence, the sample mean and variance differ from (μ,Σ).

[0150] In accordance with the present invention, a solution is to fit a normal surface to the density values computed in the trajectory points associated with the mode. More specifically, the fitting is performed using the mean shift vector. Indeed, for each trajectory point y_(i) we apply equation (34) to obtain:

m(_(i))=−H(Σ+H)⁻¹(y _(i)−μ)   (36)

[0151] where (μ, Σ) are the mean and covariance of the true distribution. By fixing the mean μ as the local peak in the density surface (see FIG. 6), we can derive a least squares solution for the covariance matrix.

[0152] If H=h²I and Σ=(σI, (where I is the identity matrix) the least squares solution for σ² is: $\begin{matrix} {\sigma^{2} = {h^{2}\left\lbrack {\frac{\sum\limits_{i = 1}^{iu}{m_{i}^{T}\left( {\mu - y_{l}} \right)}}{\sum\limits_{i = 1}^{iu}{m_{l}}^{2}} - 1} \right\rbrack}} & (37) \end{matrix}$

[0153] Observe that the quantity (37) is always positive, since the norm of the mean shift vector is always smaller than the distance to the mode. $\begin{matrix} {{{{If}\quad H} = {{{{diag}\quad\left\lbrack {h_{1}^{2}\quad \ldots \quad h_{d}^{2}} \right\rbrack}\quad {and}\quad\sum} = {{diag}\left\lbrack {\sigma_{1}^{2}\quad \ldots \quad \sigma_{d}^{2}} \right\rbrack}}},\quad {then}} & \quad \\ {\sigma_{v}^{2} = {h_{v}^{2}\left\lbrack {\frac{\sum\limits_{i = 1}^{iu}{m_{iv}^{T}\left( {\mu_{v} - y_{iv}} \right)}}{\sum\limits_{i = 1}^{iu}m_{iv}^{2}} - 1} \right\rbrack}} & (38) \end{matrix}$

[0154] where the subindex v=1. . . d denotes the v-th component of a vector.

[0155] Although a fully parameterized covariance matrix can be computed using equation (36), this is not necessarily advantageous, and for dimensions d>2 the number of parameters introduced are too large to make reliable decisions. Therefore, in a preferred embodiment, equations(37) and (38) are used.

[0156] 2 (C)(iii) Multi-scale Analysis

[0157] When the underlying data distribution is normal, the analysis bandwidth H does not influence the computation of (μΣ). When the underlying data structure deviates from normality, H affects the estimation. Therefore, in the final step of the scale selection process, the stability of (μΣ) is tested against the variation of the analysis bandwidth. In one embodiment, the test comprises taking H=h²I and varying h on a logarithmic scale with constant step.

[0158] Let H_(I)=H₁ ²I . . . , H_(b)=h_(b) ²I be a set of analysis bandwidths generated as above, which are in a priori known range of data scales. Denote by (μ_(l), Σ_(l)), . . . (μ_(b),Σ_(b)) the corresponding set of estimates and denote by p_(l) . . . P_(b) the associated normal distributions. The stability test for distribution p_(j) involves the computation of the overall dissimilarity between p_(j) and its neighbors across scale p_(f−w) . . . P_(f−w), P_(f+l) . . . p_(f+w). In a preferred embodiment, w=1.

[0159] A dissimilarity measure according to an embodiment of the present invention comprises a specialized version of the Jensen-Shannon divergence, which is defined for the d-variate normal distributions p_(j), j=1 . . . r as., $\begin{matrix} \begin{matrix} {{{JS}\left( {p_{1}\quad \ldots \quad p_{r}} \right)} = \quad {{\frac{1}{2}\log \frac{{\frac{1}{r}{\sum\limits_{j = 1}^{r}\sum\limits_{j}}}}{\sqrt[r]{\prod\limits_{j = 1}^{r}{\sum_{j}}}}} +}} \\ {\quad {\frac{1}{2}{\sum\limits_{j = 1}^{r}{\left( {\mu_{j} - \mu} \right)^{T}\left( {\sum\limits_{j = 1}^{r}\sum\limits_{j}} \right)^{- 1}\left( {\mu_{j} - \mu} \right)}}}} \end{matrix} & (39) \end{matrix}$

[0160] with $\mu = {\frac{1}{r}{\sum\limits_{j = 1}^{r}{\mu_{j}.}}}$

[0161] This formula is derived in Section 7 below. Observe that for r=2, the specialized Jensen-Shannon divergence reduces to the well known Bhattacharyya distance.

[0162] 2(C)(iv) Summary of Mode Detection Using Data Driven Bandwidth Selection

[0163] In general, a method for detecting modes of an underlying multi-dimensional data structure comprises the steps of: (i) performing a data-driven bandwidth selection process for selecting an optimal bandwidth matrix (comprising multiple scales for multi-dimensional data) for each data point; and (ii) performing a variable bandwidth mean shift using the selected bandwidth matrices to detect modes in the multi-dimensional data.

[0164] Further, a data-driven bandwidth selection process according to the invention generally comprises two stages. The first stage is defined at the partition level and determines a mean and covariance matrix for each mode detected through multi-scale analysis. The second stage is defined at the data level and selects for each data point the most stable mean and covariance across the analysis scale.

[0165]FIG. 7 is a flow diagram of a method for mode detection using a data-driven scale selection method and variable bandwidth means shift method according to the invention. The method of FIG. 7 can advantageously be used for detecting modes in multi-dimensional data. In general, as noted above, the first stage of the process depicted in FIG. 7 comprises bandwidth matrix selection (steps 41-50) followed by a variable-bandwidth mean shift using the selected bandwidth matrices to detect the modes (step 51). The process of bandwidth selection comprises a method for evaluating the bandwidth at the partition level (steps 41-46) and method for evaluating the bandwidth at the data level (steps 47-50).

[0166] More specifically, referring to FIG. 7, initially, a set of n data points x_(i), i=1 . . . n is received as input for processing (step 40). The data may comprise image data, speech data, handwriting data, etc., wherein mode detection is used for further processing (data clustering, image segmentation, speech recognition, handwriting recognition, etc.). Then, a predetermined set of analysis matrices H_(j), j=1 . . . b, where H_(j)=(H_(i)=h₁ ²I, . . . , H_(b)=h_(b) ²) (which are preferably constructed on a logarithmic scale) is initially selected (step 41) for partitioning the data. As noted above, the bandwidth selection protocol makes no assumptions regarding the underlying data except that the data has some scale range.

[0167] Then, for each analysis matrix H_(j), j=1 . . . b, starting with an initially selected analysis matrix (step 42), the data is partitioned via the fixed bandwidth mean shift method using the selected analysis matrix H_(j) (step 43). The result of such partitioning is that each data point will converge to some peak (mode) for the selected analysis matrix.

[0168] Then, for each mode μ of the decomposition, the mean and covariance pair (μ_(ju)ρ_(ju)) is determined (step 44). More specifically, in one embodiment, for the given analysis matrix H_(j), all the data points that converge to the same peak (mode) are grouped together (see, e.g., FIG. 5). For each group, the mean and covariance is determined, preferably by using the location of the mode to determine the mean μ_(ju) and using equations (37) or (38) to determine the covariance Σ_(ju). Then, each data point x_(i) is associated with the mean and covariance of its mode (step 45). This process (steps 42-45) is performed for each of the analysis matrices H The result of this process is that each data point x_(i) will have a set of mean/covariance pairs for each scale H_(j), j=1 . . . b.

[0169] When all analysis matrices H_(j) have been processed (affirmative result in step 46), the local bandwidths for each data point will be evaluated at the data level. Initially, a first data point is selected (step 47). Based on the set of estimates (μ₁, Σ₁) . . . (μ_(b), Σ_(b)) associated with the selected data point, the normal distributions p1pb are determined (step 48). Then, the most stable pair (1,2) is selected by minimizing the Jensen-Shannon divergence between neighboring distributions across scales (step 49), as discussed in detail in section 2(C)(iii). This test across scales results in one scale for which the test measure is minimal, which means that the data is most stable (i.e., the mean/covariance pair having the least divergence across the scales). This process (steps 47-49) is performed for all data points. The selected covariance Σ for a given data point represents the local bandwidth for the data point.

[0170] Then, after all data points are processed (affirmative result in step 50), a mode detection process is performed via a Variable Bandwidth Mean Shift using the selected bandwidth matrices for the data points (step 51).

[0171] 2(C)(v) Sale Size

[0172] While a large sample approximation is not critical for equation (34)r the sparse data needs attention. Preferably, the local sample size should be sufficiently large for inference. A bandwidth selection process according to the invention is preferably based on the known Effective Sample Size which computes the kernel weighted count of the number of points in each window: $\begin{matrix} {{{ESS}\left( {x;H} \right)} = {\frac{\sum\limits_{i = 1}^{n}{\kappa \quad {H\left( {x - x_{i}} \right)}}}{\kappa \quad {H\left( {0 - 0} \right)}} = \frac{\sum\limits_{i = 1}^{n}{\exp\left( {{- \frac{1}{2}}{d^{2}\left( {x,x_{i},H} \right)}} \right.}}{\exp \left( {{- \frac{1}{2}}{d^{2}\left( {0,0,H} \right)}} \right)}}} & (40) \end{matrix}$

[0173] Using the binomial rule of thumb, we cancel the interference when ESS (x; H)<5.

[0174]2(C)(vi) Bandwidth Selection Examples

[0175]FIG. 8 is an exemplary diagram illustrating results of the data-driven bandwidth selection method according to the invention. FIG. 8a is a histogram of a bimodal data set generated with equal probability from N(4, 0.5) and N (7, 1) with a total n=200 points. The standard deviation for each distribution (measured before amalgamating the data) was 0.53 and 0.92. FIG. 8b illustrates the selected bandwidth for each data point using a data-driven bandwidth selection process according to the invention. For presentation, the data point index increases with location. In FIG. 8b, for the first 100 points and the next 100 points, X was determined to be 0.58 and 0.93, respectively. We used 8 analysis bandwidth in the range of 0.3-1.42 with a ratio of 1.25 between two consecutive bandwidths. For all the experiments presented henceforth, the same ratio of 1.25 was applied between two consecutive bandwidths. The specialized Jensen-Shannon divergence was computed with r=3 (three consecutive bandwidths). No other additional information was used.

[0176]FIG. 9 is another exemplary diagram illustrating results of the data-driven bandwidth selection method according to the invention. FIG. 9a is a histogram of an input data set drawn with equal probability from N(8, 2), N(25, 4), N(50, 8), and N(100, 16), with a total n=400 data points. FIG. 9b illustrates the selected bandwidth for each data point using a data-driven bandwidth selection process according to the invention. For presentation, the data point index increases with location. As is apparent in FIG. 9b, the selected bandwidths were close to the measured standard deviations for the normals. In FIG. 9, 12 analysis bandwidths were used in the range of 1.5-17.46.

[0177]FIG. 10 is another exemplary diagram illustrating results of the data-driven bandwidth selection method according to the invention. FIG. 10a depicts bivariate data drawn with equal probability from N([1,1],I), N([2. 5, -2],I), and N(t5,l]₁), where I=1 and n=250 points. The bandwidth selection process was run with 6 analysis bandwidths in the range 0.5-1.5. The algorithm detected three classes of bandwidths; 0.96, 1.04 and 1.08. In FIG. 10b, the bandwidth associated with each data point is indicated by the bullet (smallest bullets for 0.96, largest bullets for 1.08). Note, however, that the allocated bandwidths are very close to the true data scale.

[0178] 2(D) Clustering Structures with Multiple Scales

[0179]FIGS. 11b-d are diagrams illustrating experimental results obtained for the data presented in FIG. 11a. FIG. 11a depicts input data (n=400) containing structures as different scales. The bandwidth selection algorithm was run with 6 analysis bandwidths in the range of 0.1-0.3. Expression (3B) was used to estimate a diagonal form for the covariance matrix associated with each data point. The results are presented in FIG. 11c for the scales associated with the coordinate x and FIG. 11d for the scales associated with the coordinate y of each data point.

[0180] Observe that the elongated structure of the data is reflected in a larger bandwidth for the coordinate x. Also, each graph contains two distinct groups of scale 1s S values corresponding to the two scales in the data. The spurious peaks represent points located on the border between two structures. Finally, note that for both coordinates, the smaller scale is approximately half of the larger scale, similar to the data characteristics.

[0181]FIG. 11b depicts the final clustering of the data obtained via the variable bandwidth mean shift using the bandwidths shown in FIG. 11c and FIG. 11d. The algorithm detected 4 modes and the resulting partitioning is shown in FIG. 11b. Note that most algorithms using one analysis bandwidth are prone to fail for this type of data. If the bandwidth is large, the two small structures will be joined together. If the bandwidth is small each of the two large structures will be divided.

[0182] 2(E) Discussion

[0183] It is useful to contrast the data-driven bandwidth selection methods described herein against some classical alternatives. The known “EM” algorithm also assumes a mixture of normal structures and finds iteratively the maximum-likelihood estimates of the a priori probabilities, means, and covariances. However, the EM needs the specification of the number of clusters, needs a good initialization, and does not deal with non-normal structures. In addition, its convergence is difficult when the number of clusters is large, determining the increase of the number of parameters.

[0184] The methods described herein according to the invention are not affected by the number of clusters since no global criterion is applied that should be optimized. We only use a priori knowledge of a range of viable scales, which is a very practical criterion. In almost all situations, the user has this knowledge. In addition, our normality assumption is only for bandwidth selection. The overall algorithm maintains the ability of analyzing complex, non-normal structures.

[0185] Let us also contrast the proposed algorithm with s methods based on multi-scale analysis. From this point of view and according to our knowledge, this is the first method which tests the stability of the second order statistics derived from the data. Up to now, the stability testing was limited to the first order statistics such as the mean, the mode, or direction vectors. By checking the stability of the covariance matrix through the specialized Jensen-Shannon divergence, we increase the amount of information involved in the test.

[0186] Finally, in another embodiment, the method can be enhanced by replacing the least square estimation with a robust method. For example, a weighted least squares solution may be used. A data-driven bandwidth selection method according to the invention is useful for scenarios involving multi-scale patterns, such as feature space partitioning in tracking, background modeling and segmentation. Several applications of the present invention will now be discussed in further detail.

[0187] 3. Video Data Analysis

[0188] A fundamental task in video data analysis is to detect blobs represented by collections of pixels that are coherent in spatial, range, and time domain. The two dimensional space of the lattice is known as the spatial domain while the gray level, color, spectral, or texture information is represented in the range domain.

[0189] Based on the new estimators discussed above in sections 1 and 2, an autonomous method according to an embodiment of the invention for segmenting a video frame into representative blobs detected in the spatial and color domains, will now be discussed. The technique can be naturally extended to incorporate time information.

[0190] We selected the orthogonal features I1=(R+G+B)/3, I2=(R−B)/2 and I3=(2G−R−B)/4 to represent the color information. Due to the orthogonality of the features, the one dimensional plug-in rule for bandwidth selection can be applied independently for each color coordinate.

[0191] The idea is to apply the mean shift procedure for the data points in the joint spatial-range domain. Each data point becomes associated to a point of convergence which represents the local mode of the density in a d=2+3 dimensional space (2 spatial components and 3 color components).

[0192] Preferably, a spherical kernel is employed for the spatial domain and a product kernel for the three color components. The efficiency of the product kernel is known to be very close to that of spherical kernels. Preferably, due to the different nature of the two spaces, the problem of bandwidth selection is treated differently for each space.

[0193]FIG. 12 is a flow diagram of a method for adaptive mean shift segmentation according to an embodiment of the present invention. Initially, orthogonal features are generated for image data (step 60) as discussed above. A predetermined set of spatial scales r_(l) . . . r_(s) is then selected (step 61). Given the image pixels {x_(i), I1_(i),I2_(i), I3_(i)}_(i=1 . . . n), and the range of spatial scales r₁ . . . r_(s), a fixed bandwidth is derived (h₁, h₂, h₃) for each color feature (step 62) using the one dimensional rule. Then, for an initially selected spatial scale r₁ (step 63), for each pixel, the adaptive bandwidths h₁(x_(i); r₁), h₂(x_(i); r₁), h₃(x_(i); r₁) are determined via equation (8) (using determined pilot density for pixel) (step 64). Then, the magnitude of the normalized mean shift vector M(x_(i); r₁) is determined for each pixel (step 65). The process is repeated for all remaining scales r₂ . . . r_(s) of the spatial kernel.

[0194] When all scale are process (affirmative result in step 6), for a given pixel (step 67), a spatial scale r_(j) is selected using a data-driven bandwidth selection process (step 68) as described in Section 2. In addition, the given pixel, the color bandwidths h₁(x_(i);r_(j)),h₂(x_(i);r_(j)), h₃(x_(i);r_(j)) are selected (step 69) . This process (steps 68-69) is repeated for all pixels. As a result, each pixel receives a unique color bandwidth for color and a unique spatial bandwidth.

[0195] Next, to obtain the segmented image, the variable H bandwidth mean shift procedure is performed in the joint domain (step 71) and blobs are identified as groups of pixels having the same connected convergence points.

[0196] Experiments have shown that the segmentation method works well for image data with very different statistics. In addition, experiments have shown the stability of the algorithm in segmenting a sequence obtained by panning a camera. The identified blobs are maintained very stable, although the scene data changed gradually along with the camera gain.

[0197] An attractive property of the segmentation method described above is the automatic bandwidth selection in both color and spatial domain. The reason that two different bandwidth selection techniques were used for the two spaces is not arbitrary. While the color information can be collected across the image, allowing the computation of robust initial bandwidth for color, the spatial properties of the blobs vary drastically across the image, requiring local decisions for spatial scale selection.

[0198] 4. Illumination Invariant Segmentation

[0199] To obtain robustness against changes in illumination, the RGB data is often nonlinearly transformed into color invariant spaces such as normalized color spaces. Traditionally, the second order effects generated by the 1transformation are ignored or empirically thresholded. In accordance with another aspect of the present invention, a unified framework is provided that uses error propagation to model the uncertainty of the transformed colors, and then exploits this uncertainty for segmentation in the invariant space. The main statistical tool that utilizes the variable uncertainty is the variable-bandwidth mean shift, an adaptive estimator of the density gradient. This technique is applied to detect high density points (i.e., modes) in the joint spatial-color domain. The image segments are delineated by identifying the valleys surrounding the density modes.

[0200] 4(A) Motivation

[0201] The second order effects generated by nonlinear transformations applied to the RGB data are most often ignored or empirically thresholded. Only recently, these effects have been taken into account for building adaptive histograms or adaptive density estimates in the transformed space.

[0202] According to the present invention, a unified framework is provided that exploits the uncertainty of the transformed colors for video data segmentation in the invariant space. In one embodiment, the transformation from RGB to normalized rg is provided. To process data with variable uncertainty, the variable-bandwidth mean shift is employed. The color uncertainty is derived through noise measurement in the RGB space and error propagation. The variable-bandwidth mean shift identifies modes in the joint spatial-color space, while the image segments are delineated by detecting the valleys surrounding the modes.

[0203] 4(B) Error Propagation in Invariant Space

[0204] This section discuses the color-dependent uncertainty (covariance matrices) in the invariant space. For a given location (x,y) in an image, we denote by {circumflex over (R)}(x,y), Ĝ(x,y), {circumflex over (B)}(x,y) the observed color data. Assume that {circumflex over (R)},Ĝ, and {circumflex over (B)} are normal with mean R, G, and B, and identical standard deviation σ. To derive the uncertainties in the normalized color space, we adopt the computations presented in Greiffenhagen, et al. “Statistical Modeling and Performance Characterization of a Real-Time Dual Camera Surveillance System,” In Proceedings IEEE Conference On Computer Vision and Pattern Recognition, Hilton Read, S C., Vol. II, pages 335-342, June 2000.

[0205] The illumination prior assumption is that the scene contains multiple light sources with the same spectral distribution with no constraint on individual intensities. An invariant representation of the color data is obtained through the transformation: T:R^(3→R) ² which normalizes R and G by S=R+G+B: $\begin{matrix} {r = {{\frac{R}{R + G + B}\quad g} = \frac{G}{R + G + B}}} & (41) \end{matrix}$

[0206] Due to the nonlinear character of the transformation T(.), the uncertainties in the normalized estimates {circumflex over (r)} and ĝ are dependent not only on sensor noise variance, but also on the actual true unknown values of the underlying samples. Based on the assumption of a moderate signal to noise ratio (i.e., σ<<S), ({circumflex over (r)},ĝ)^(T) can be approximated as normal distributed with pixel-dependent covariance matrix: $\begin{matrix} {\begin{pmatrix} \hat{r} \\ \hat{g} \end{pmatrix} \sim {{N\left( {\begin{pmatrix} r \\ g \end{pmatrix},{\sum\hat{r}},\hat{g}} \right)}\quad {where}}} & (42) \\ \begin{matrix} {\sum\limits_{\hat{r},\hat{g}}{= \begin{pmatrix} {{\sigma_{r}^{2} = {E\left\lbrack \left( {\hat{r} - r} \right)^{2} \right\rbrack}},} & {E\left\lbrack {\left( {\hat{r} - r} \right)\left( {\hat{g} - g} \right)} \right\rbrack} \\ {{E\left\lbrack {\left( {\hat{r} - r} \right)\left( {\hat{g} - g} \right)} \right\rbrack},} & {\sigma_{g}^{2} = {E\left\lbrack \left( {\hat{g} - g} \right)^{2} \right\rbrack}} \end{pmatrix}}} \\ {= {\frac{\sigma^{2}}{S^{2}}\begin{pmatrix} {{1 - \frac{2R}{S} + {3\frac{R^{2}}{S^{2}}}},} & {{- \frac{R + G}{S}} + {3\frac{RG}{S^{2}}}} \\ {{{- \frac{R + G}{S}} + {3\frac{RG}{S^{2}}}},} & {1 - \frac{2G}{S} + {3\frac{G^{2}}{S^{2}}}} \end{pmatrix}}} \end{matrix} & (43) \end{matrix}$

[0207] In the normalized space, the covariance matrix for each pixel is different: darker regions in the RGB image (i.e., small S) correspond to regions with high variance in the normalized image.

[0208] 4(C) Density Estimation in Joint Spatial-Color Domain

[0209] Following the color transformation from RGB to normalized rg space, each image pixel z is characterized by a location X=(X₁,x₂)^(T) and a color c=(c₁,c₂)^(T)≅(r,g)^(T). In other words, an input image of n pixels is represented as a collection of d=4-dimensional points z_(i)=(x_(i) ^(T),c_(i) ^(T))^(T),i=1 . . . n. The 4-dimensional space constructed as above is called the joint spatial-color domain.

[0210] The task of image segmentation reduces to the partitioning of the data points z_(i) according to their probability density. The number of image segments is determined by the number of modes in the joint space, while the segment delineation is defined by the valleys that separate the modes.

[0211] To estimate the probability density in the joint space, a product kernel with variable bandwidth for the color coordinates is preferably used. The rationale is that in the normalized color space the uncertainty varies with the location, as shown in section 4(B). It has been proven that by adapting the kernel bandwidth to the statistics of the data, the estimation bias decreases. We denote by H_(i)=diag{h_(i1) ²,h_(i2) ²}, the bandwidth matrix associated with the color component of data point i. H_(i) quantifies the uncertainty of c_(i). The bandwidth for the spatial domain is taken constant and isotropic, i.e., H=hI₂ where I₂ is the unit matrix of dimension 2.

[0212] The density estimator with normal kernel computed at location z=(x^(T),c^(T))^(T) is given by: $\begin{matrix} \begin{matrix} {{\hat{f}(z)} = \quad {\frac{1}{{n\left( {2\pi} \right)}^{\frac{d}{2}}}{\sum\limits_{i = 1}^{n}{\frac{1}{h^{2}}{\exp \left( {{- \frac{1}{2}}{d^{2}\left( {x,x_{i},H} \right)}} \right)} \times}}}} \\ {\quad {\frac{1}{h_{i1}h_{i2}}{\exp \left( {{- \frac{1}{2}}{d^{2}\left( {c,c_{i},H_{i}} \right)}} \right)}}} \end{matrix} & (44) \end{matrix}$

[0213] where

d ²(c,c _(i) ,H _(i))≅(c−c _(i))^(T) H _(i) ⁻¹(c−c _(i))   (45)

[0214] is the Mahalanobis distance from c to c_(i). A similar definition holds for d²(x,x_(i),H_(i))

[0215] Using the notations; $\begin{matrix} {{\alpha_{i}(x)} = {\frac{1}{h^{2}}{\exp \left( {{- \frac{1}{2}}{d^{2}\left( {x,x_{i},H} \right)}} \right)}\quad {and}}} & (46) \\ {{\beta_{i}(c)} = {\frac{1}{h_{i1}h_{i2}}{\exp \left( {{- \frac{1}{2}}{d^{2}\left( {c,c_{i},H_{i}} \right)}} \right)}}} & (47) \end{matrix}$

[0216] equation (44) becomes: $\begin{matrix} {{\hat{f}(z)} = {\frac{1}{{n\left( {2\pi} \right)}^{\frac{d}{2}}}{\sum\limits_{i = 1}^{n}{{\alpha_{i}(x)}{\beta_{i}(c)}}}}} & (48) \end{matrix}$

[0217] The next section shows the computation of local modes (peaks) of the density function (48),

[0218] 4D Mode Detection

[0219] Mode detection in the joint space employs mean shift iterations for both x and c components of z. By taking the gradient of equation (48) with respect to x, after some algebra, it results that the mean shift vector for the x component is given by: $\begin{matrix} {{m_{x}(z)} = {\frac{\sum\limits_{i = 1}^{n}{{\alpha_{i}(x)}{\beta_{i}(c)}x_{i}}}{\sum\limits_{i = 1}^{n}{{\alpha_{i}(x)}{\beta_{i}(c)}}} - x}} & (49) \end{matrix}$

[0220] The gradient of (48) with respect to c yields the mean shift vector for the c component: $\begin{matrix} {{m_{c}(z)} = {{{H_{c}(z)}{\sum\limits_{i = 1}^{n}{{\alpha_{i}(x)}{\beta_{i}(c)}H_{i}^{- 1}c_{i}}}} - {c\quad {where}}}} & (50) \\ {{H_{c}(z)} = \left( {\sum\limits_{i = 1}^{n}{{\alpha_{i}(x)}{\beta_{i}(c)}H_{i}^{- 1}}} \right)^{- 1}} & (51) \end{matrix}$

[0221] Equations (49) and (50) provide the components of the joint mean shift vector

m(z)=(m _(x) ^(T)(z),m _(c) ^(T)(z))^(T)   (52)

[0222] The iterative computation of the vector (52) and translation of z by that amount, leads to a local mode (peak) of the density (48).

[0223] 4E System/Method for Illumination Invariant Segmentation

[0224] By estimating first the sensor noise, relation (43) can be employed to compute the covariance matrix associated with the normalized color of each pixel. The components of the color bandwidth matrix H_(i)=diag{h² _(i1) ²,h_(i2) ²} are taken proportionally to σ_({circumflex over (r)}) ² and σ_(ĝ) ², respectively. The mode estimation process is thus adapted to the local uncertainty in the data. Preferably, the contribution of E[({circumflex over (r)}−r)(ĝ−g)] from equation (43) is neglected.

[0225] Using the algorithm presented in Section 4D, the modes in the joint space are first detected. Since plateaus may appear in the density function, the modes that are sufficiently closed to each other are grouped together and a label is assigned to each group. The metric for distance evaluation is based on the matrices H and H_(c)(z) (computed in the convergence point). Region delineation is then obtained by associating each pixel to its mode and assigning the label of the group to which the mode belongs to.

[0226]FIG. 13 is a block diagram of a system and method for illumination invariant segmentation according to an embodiment of the present invention. Image data is normalized via module 80 (using equation (41)). A sensor noise estimation module 81 estimates the noise (detects Y) using any known method. A pixel covariance estimation module 82 estimates the bandwidth via equation (43). Module 83 applies the variable bandwidth mean shift (equation 52) using the estimated bandwidth to detect the modes in the image data. A border delineation module 84 then detects borders in the image data as described herein. The nonlinearity induced by the color transformation is taken into account to compute the local uncertainty of each pixel in the normalized space. The uncertainty is further used in the variable bandwidth mean shift to identify modes in the feature space.

[0227] An illumination invariant segmentation method according to the present invention will more accurately segment contours in an image, in comparison to a segmentation based on L*u*v colors. For example, a segmentation method of the present invention is not influenced by the shadows that are in the image. Segmentation in the normalized subspace is thus particularly advantageous when the frames of a video sequence are known to contain shadows or illumination effects. It is to be appreciated that the proposed method can be applied to other illumination or geometric invariants.

[0228] 5. One-Dimensional “Plug-In” Method

[0229] Step 1: Compute {circumflex over (Υ)}=Q₃−Q₁, the sample interquartile range.

[0230] Step 2: Compute α=0.920{circumflex over (Υ)}n^(−{fraction (1/9)}).

[0231] Step 3: ${{\hat{T}}_{D}(b)} = {{- \left\{ {n\left( {n - 1} \right)} \right\}^{- 1}}b^{- 7}{\sum\limits_{i = 1}^{n}{\sum\limits_{j = 1}^{n}{\varphi^{vi}\left\{ {b^{- 1}\left( {x_{i} - x_{j}} \right)} \right\}}}}}$

[0232] where Φ^(vj) is the sixth derivative of the normal kernel.

[0233] Step 4: ${{\hat{S}}_{D}(a)} = {\left\{ {n\left( {n - 1} \right)} \right\}^{- 1}a^{- 5}{\sum\limits_{i = 1}^{n}{\sum\limits_{j = 1}^{n}{\varphi^{iv}\left\{ {a^{- 1}\left( {x_{i} - x_{j}} \right)} \right\}}}}}$

[0234] where Φ^(jv) is the fourth derivative of the normal kernel.

[0235] Step 5: {circumflex over (α)}₂(h)=1.357{Ŝ_(D)(α)/{circumflex over (T)}_(D)(b)}^({fraction (1/7)})h^({fraction (5/7)}).

[0236] Step 6: Solve the equation in h

[R(K)/{μ₂ ²(K)Ŝ _(D)({circumflex over (α)}₂(h))}]^(¼)n^(−{fraction (5/7)}).

[0237] where μ₂(K)=∫z₁ ²K(z)zd and R(K)=∫K(z)dz, as defined above (equations (3) and (4).

[0238] 6. Convergence Proof for Variable Bandwidth Mean Shift

[0239] Since n is finite and the sequence {circumflex over (f)}_(K) is bounded, it is therefore sufficient to show that {circumflex over (f)}_(K) is strictly monotonic increasing, i.e., if Y_(j)≠y_(j+1) then {circumflex over (f)}_(K)(j)<{circumflex over (f)}_(K)(j+1), for all j=1,2 . . . .

[0240] By assuming without loss of generality that y_(j)=0 we write: $\begin{matrix} {{{{\hat{f}}_{K}\left( {j + 1} \right)} - {{\hat{f}}_{K}(j)}} = {{\frac{1}{n}{\sum\limits_{i = 1}^{n}{\frac{1}{h_{i}^{d}}\left\lbrack {k\left( {\frac{y_{j + 1} - x_{i}}{h_{i}}}^{2} \right)} \right\rbrack}}} - {k\left( {\frac{x_{i}}{h_{i}}}^{2} \right)}}} & (6.1) \end{matrix}$

[0241] The convexity of the profile implies that:

k(x ₂)≧k(x ₁)+k′(x ₁)(x ₂ −x ₁)   (6.2)

[0242] for all x₁,x₂ε[0,∞),x₁≠x₂, and since k′=−g₁ the inequality (6.2) becomes

k(x ₂)−k(x₁)>g(x₁)(x ₁ −x ₂)   (6.3)

[0243] Using now (6.1) and (6.3), we have $\begin{matrix} \begin{matrix} {{{{\hat{f}}_{K}\left( {j + 1} \right)} - {{\hat{f}}_{K}(j)}} \geq \quad {\frac{1}{n}{\sum\limits_{i = 1}^{n}{\frac{1}{h_{i}^{d + 2}}{g\left( {\frac{x_{i}}{h_{i}}}^{2} \right)}\left\lbrack {{x_{i}}^{2} -} \right.}}}} \\ {\quad \left. {{y_{j + 1} - x_{i}}}^{2} \right\rbrack} \\ {= \quad {\frac{1}{n}{\sum\limits_{i = 1}^{n}{\frac{1}{h_{i}^{d + 2}}{g\left( {\frac{x_{i}}{h_{i}}}^{2} \right)}\left\lbrack {{2y_{j + 1}^{T}x_{i}} -} \right.}}}} \\ {\quad \left. {y_{j + 1}}^{2} \right\rbrack} \\ {= \quad {{\frac{1}{n}2y_{j + 1}^{T}{\sum\limits_{i = 1}^{n}{\frac{x_{i}}{h_{i}^{d + 2}}{g\left( {\frac{x_{i}}{h_{i}}}^{2} \right)}}}} -}} \\ {\quad {\frac{1}{n}{y_{j + 1}}^{2}{\sum\limits_{i = 1}^{n}{\frac{1}{h_{i}^{d + 2}}{g\left( {\frac{x_{i}}{h_{i}}}^{2} \right)}}}}} \end{matrix} & (6.4) \end{matrix}$

[0244] and by employing (17) it results that $\begin{matrix} {{{{\hat{f}}_{K}\left( {j + 1} \right)} - {{\hat{f}}_{K}(j)}} \geq {\frac{1}{n}{y_{j + 1}}^{2}{\sum\limits_{i = 1}^{n}{\frac{1}{h^{d + 2}}\left( {\frac{x_{i}}{h_{i}}}^{2} \right)}}}} & (6.5) \end{matrix}$

[0245] Since k is monotonic decreasing we have −k′(x)≅g(x)>0 for all xε[0∞). The sum $\sum\limits_{i = 1}^{n}{\frac{1}{h^{d + 2}}{g\left( {\frac{x_{i}}{h_{i}}}^{2} \right)}}$

[0246] strictly positive, since it was assumed to be nonzero in the definition of the mean shift vector (12). Thus, as long as y_(j+1)≠y_(j)=0, the right term of (6.5) is strictly positive, i.e., {circumflex over (f)}_(K)(j+1)−{circumflex over (f)}_(K)(j)>0. Hence the sequence {circumflex over (f)}_(K) is convergent.

[0247] To show the convergence of the sequence {y_(j)}_(j=1,2 . . .) After some algebra, it results that $\begin{matrix} {{{{\hat{f}}_{K}\left( {j + 1} \right)} - {{\hat{f}}_{K}(j)}} \geq {\frac{1}{n}{{y_{j + 1} - y_{j}}}^{2}{\sum\limits_{i = 1}^{n}{\frac{1}{h_{i}^{d + 2}}{g\left( {\frac{y_{j} - x_{i}}{h_{i}}}^{2} \right)}}}}} & (6.6) \end{matrix}$

[0248] Since {circumflex over (f)}_(K)(j+1)−{circumflex over (f)}_(K)(j) converges to zero, (6.6) implies that ∥y_(J+1)−y_(j)∥ also converges to zero, i.e., {Y_(j)}_(j=1,2 . . .) is a Cauchy sequence. But any Cauchy sequence is convergent in the Euclidean space, therefore, {y_(j)}_(j=1,2 . . .) is convergent.

[0249] 7. The Magnitude of the Bandwidth Normalized Mean Shift Vector m(x; H) is Maximized When H=Σ

[0250] Recall that the magnitude of the bandwidth normalized mean shift vector is given by

m(x; H)=∥H ^(½)(Σ+H)(x−μ)∥  (7.1)

[0251] We assume that H and Σ are symmetric, positive definite matrices, and the magnitude of x−μ is strictly positive. We will show that

m(x;Σ)² −m(x; H)² >0   (7.2)

[0252] with equality if H=Σ.

[0253] The left side of (7.2) becomes $\begin{matrix} \begin{matrix} {{{m\left( {x;\sum} \right)}^{2} - {m\left( {x;H} \right)}^{2}} = \quad {\frac{1}{4}\left\lbrack {{{\sum^{- \frac{1}{2}}\left( {x - \mu} \right)}}^{2} - 4} \right.}} \\ {\quad \left. {{{H^{\frac{1}{2}}\left( {\sum{+ H}} \right)}^{- 1}\left( {x - \mu} \right)}}^{2} \right\rbrack} \\ {= \quad {\frac{1}{4}\left( {{x -}\mu} \right)^{T}\left\lbrack {\sum^{- 1}{{- 4}\left( {\sum{+ H}} \right)^{- 1}H}} \right.}} \\ {{\quad \left. \left( {\sum{+ H}} \right)^{- 1} \right\rbrack}\left( {x - \mu} \right)} \\ {= \quad {{\frac{1}{4}\left( {x - \mu} \right)^{T}\left( {\sum{+ H}} \right)} - 1}} \\ {\quad {\left( {H{\sum^{- 1}{- I}}} \right)^{2}{\sum{\left( {\sum{+ H}} \right)^{- 1}\left( {x - \mu} \right)}}}} \end{matrix} & (7.3) \end{matrix}$

[0254] where I is the d×d identity matrix. Within the conditions states, all the matrices in the last term of (7.3) are positive definite, excepting (HΣ⁻¹−I)² which is equal to 0 if H=Σ. Q.E.D.

[0255] 8. Overall Dissimilarity of a Set of Multivariate Normal Distributions

[0256] One of the few measures of the overall difference of more than two distributions is the generalized Jensen-Shannon divergence (see J. Lin, “Divergence Measures Based on the Shannon Entropy”, IEEE Trans. Information Theory, 37:145-151, 1991.) Given r probability distributions P_(l)j=1 . . . r, their Jensen-Shannon divergence is defined as: $\begin{matrix} {{{JS}\left( {p_{1}\quad \ldots \quad p_{r}} \right)} = {{H\left( {\frac{1}{r}{\sum\limits_{j = 1}^{r}p_{j}}} \right)} - {\frac{1}{r}{\sum\limits_{j = 1}^{r}{H\left( p_{j} \right)}}}}} & (8.1) \end{matrix}$

[0257] where

H(p(x))=−∫p(x)log p(x)dx   (8.2)

[0258] is the entropy of p(x). This divergence is positive and equal to zero if all p_(j) are equal. Using (8.2) in (8.1) we obtain: $\begin{matrix} {{{JS}\left( {p_{1}\quad \ldots \quad p_{r}} \right)} = {{\frac{1}{r}{\sum\limits_{j = 1}^{r}{\int{{p_{j}(x)}\log \frac{p_{j}(x)}{q(x)}\quad {width}\quad {q(x)}}}}} = {\frac{1}{r}{\sum\limits_{j = 1}^{r}p_{j}}}}} & (8.3) \end{matrix}$

[0259] For the d-variate normal case, the distributions p_(j) are defined by: $\begin{matrix} {{p_{j}(x)} = {\frac{1}{{{2\pi \sum_{i}}}^{\frac{1}{2}}}{\exp \left( {{- \frac{1}{2}}\left( {x - \mu_{i}} \right)^{T}{\sum\limits_{i}^{- 1}\left( {x - \mu_{i}} \right)}} \right)}}} & (8.4) \end{matrix}$

[0260] A specialized version of the Jensen-Shannon divergence according to the present invention can be obtained by taking q(x) as the most likely normal source for the homogeneous model ${\frac{1}{r}{\sum\limits_{j = 1}^{r}p_{j}}},$

[0261] having the mean $\mu = {\frac{1}{r}{\sum\limits_{j = 1}^{r}\mu_{j}}}$

[0262] and covariance $\sum{= {\frac{1}{r}{\sum\limits_{j = 1}^{r}{\sum\limits_{j}.}}}}$

[0263] The new measure is equivalent to a goodness-of-fit test between the empirical distributions p_(j)=1 . . . r and the homogeneous model $\frac{1}{r}{\sum\limits_{j = 1}^{r}{p_{j}.}}$

[0264] To derive a closed form expression we use (8-4) and the identity ${x^{T}{\sum\limits^{- 1}x}} = {{tr}{\sum\limits^{- 1}{xx}^{T}}}$

[0265] to obtain: $\begin{matrix} \begin{matrix} {{\log \frac{p_{i}(x)}{q(x)}} = \quad {{\frac{1}{2}\log \frac{\sum }{\sum_{i}}} - {\frac{1}{2}{tr}{\underset{i}{\sum\limits^{- 1}}{\left( {x - \mu_{i}} \right)\left( {x - \mu_{i}} \right)^{T}}}} +}} \\ {\quad {\frac{1}{2}{tr}{\sum\limits^{- 1}{\left( {x - \mu} \right)\left( {x - \mu} \right)^{T}}}}} \end{matrix} & (8.5) \end{matrix}$

[0266] for i=i . . . r where tr denotes the trace of a matrix. Performing the integration yields: $\begin{matrix} \begin{matrix} {{\int_{p_{i}}{(x)\log \frac{p_{i}(x)}{q(x)}{x}}} = \quad {{\frac{1}{2}\log \frac{\sum }{\sum_{i}}} + {\frac{1}{2}{tr}{\sum\limits_{i}{\sum\limits^{- 1}\frac{d}{2}}}} +}} \\ {\quad {\frac{1}{2}{tr}{\sum\limits^{- 1}{\left( {\mu_{i} - \mu} \right)\left( {u_{i} - \mu} \right)^{T}}}}} \end{matrix} & (8.6) \end{matrix}$

[0267] Summing (8.6) for I=1. . . r and substituting $\sum{= {\frac{1}{r}{\sum\limits_{j = 1}^{r}\sum\limits_{j}}}}$

[0268] we have: $\begin{matrix} \begin{matrix} {{{JS}\left( {p_{i}\quad \ldots \quad p_{r}} \right)} = \quad {{\frac{1}{2}\log \frac{{\frac{1}{r}{\sum\limits_{j = 1}^{r}\sum\limits_{j}}}}{\sqrt[r]{\prod\limits_{j = 1}^{r}{\sum\limits_{j}}}}} +}} \\ {\quad {{\frac{1}{2r}{{tr}\left( {\sum\limits_{j = 1}^{r}\sum\limits_{j}} \right)}\left( {\frac{1}{r}{\sum\limits_{j = 1}^{r}\sum\limits_{j}}} \right)^{- 1}} - \frac{r}{2} +}} \\ {\quad {\frac{1}{2r}{{tr}\left( {\frac{1}{r}{\sum\limits_{j = 1}^{r}\sum\limits_{j}}} \right)}^{- 1}{\sum\limits_{j = 1}^{r}{\left( {\mu_{j} - \mu} \right)\left( {\mu_{j} - \mu} \right)^{T}}}}} \\ {= \quad {{\frac{1}{2}\log \frac{{\frac{1}{r}{\sum\limits_{j = 1}^{r}\sum\limits_{j}}}}{\sqrt[r]{\prod\limits_{j = 1}^{r}{\sum\limits_{j}}}}} +}} \\ {\quad {\frac{1}{2}{\sum\limits_{j = 1}^{r}{\left( {\mu_{j} - \mu} \right)^{T}\left( {\sum\limits_{j = 1}^{r}\sum\limits_{j}} \right)^{- 1}\left( {\mu_{j} - \mu} \right)}}}} \end{matrix} & (8.7) \end{matrix}$

[0269] where $\mu = {\frac{1}{r}{\sum\limits_{j = 1}^{r}{\mu_{j}.}}}$

[0270] Although illustrative embodiments of the present invention have been described herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments, and that various other changes and modifications may be affected herein by one skilled in the art without departing from the scope or spirit of the invention. All such changes and modifications are intended to be included within the scope of the invention as defined by the appended claims. 

What is claimed is:
 1. A method for performing variable bandwidth selection, comprising the steps of: receiving one of image data, video data, speech data and handwriting data, and extracting feature data points from the data; selecting a plurality of analysis scales; for each analysis scale, partitioning the data into one or more modes and determining a mean/covariance pair for each mode, wherein each data point is associated with a detected mode and a corresponding mean/covariance pair of the mode for each of the analysis scales; for each data point, determining the most stable mean/covariance pair associated with the data point; and for each data point, selecting for output the covariance of the most stable mean/covariance pair as a variable bandwidth for the data point, wherein the variable bandwidths are used for analyzing features of the data.
 2. The method of claim 1, wherein the step of partitioning the data comprises: performing a fixed bandwidth mean shift process for each data point using each analysis scale; and partitioning the data by grouping all mean shift vector trajectories that converge to a similar node.
 3. The method of claim 2, wherein the step of determining a mean/covariance pair of a given mode comprises fitting a normal surface to density of the given mode using mean shift trajectory points associated with the mode.
 4. The method of claim 3, wherein the step of fitting comprises using a least squares solution of a mean shift vector for determining the covariance.
 5. The method of claim 4, wherein the mean is determined as the location of the mode.
 6. The method of claim 1, wherein the step of determining the most stable mean/covariance pair for a given data point comprises the steps of: defining a distribution for each mean/covariance pair; and determining a dissimilarity between a given distribution and neighboring distributions across the scales.
 7. The method of claim 6, wherein the dissimilarity is measured using an extension of the Jensen-Shannon divergence.
 8. The method of claim 1, further comprising the step of using the selected variable bandwidths of the data points for detecting modes in the data set.
 9. The method of claim 8, wherein the modes are detected by applying the selected variable bandwidths in a variable bandwidth mean shift process.
 10. A method for detecting modes in a set of data, comprising the steps of: receiving one of image data, video data, speech data and handwriting data, and extracting feature data points from the data; determining a bandwidth for each data point; and performing a variable bandwidth mean shift process for each data point using the bandwidth for the data point to detect modes in the data set.
 11. The method of claim 10, wherein the step of performing a variable bandwidth mean shift process comprises adaptively estimating a normalized density gradient of an underlying density to detect a mode in the data set.
 12. The method of claim 10, further comprising the step of clustering the data using the detected modes.
 13. The method of claim 10, wherein the step of performing a variable bandwidth mean shift process comprises iteratively computing a sequence of successive locations of a kernel until convergence at a point of zero gradient.
 14. The method of claim 10, wherein the step of performing a variable bandwidth mean shift process comprises associating a differently scaled kernel to each data point.
 15. The method of claim 10, wherein the step of determining a bandwidth for each data point comprises the steps of: determining a fixed bandwidth parameter and pilot estimate; determining a proportionality constant using the pilot estimate; determining an adaptive bandwidth for each data point using the fixed bandwidth, the pilot estimate and the proportionality constant.
 16. The method of claim 10, wherein the step of determining a bandwidth for each data point comprises the steps of; selecting a plurality of analysis scales; for each analysis scale, partitioning the data set into one or more modes and determining a mean/covariance pair for each mode, wherein each data point is associated with a detected mode and a corresponding mean/covariance pair of the mode for each of the analysis scales; for each data point, determining the most stable mean/covariance pair associated with the data point; and for each data point, selecting for output the covariance of the most stable mean/covariance pair as a variable bandwidth for the data point.
 17. A method for segmenting video data, comprising the steps of: receiving video data comprising pixels; determining a color bandwidth by determining an adaptive bandwidth from a fixed bandwidth; determining a local spatial bandwidth for each pixel using a data-driven variable bandwidth scale selection process; clustering the video data using a variable bandwidth mean shift process in the joint spatial-color domain by applying the local spatial bandwidths and color bandwidths.
 18. The method of claim 17, wherein the step of clustering comprises identifying blobs as groups of pixels having similar points of convergence as determined by the variable bandwidth mean shift process.
 19. The method of claim 17, wherein the step of determining a color bandwidth for each pixel, comprises the steps of: (i) generating a plurality of color components, the color components comprising orthogonal color features that represent RGB colors in the video data; (ii) for each pixel, determining a fixed bandwidth for each color component; (iii) for each pixel, determining an adaptive color bandwidth for each color component using the corresponding fixed bandwidth; and (iv) repeating steps (ii) and (iii) for each spatial scale.
 20. The method of claim 19, wherein the step of determining a fixed bandwidth for each color component comprises using a one dimensional plug in rule independently for each color component.
 21. The method of claim 19, wherein the color component comprise orthogonal f features I₁=(R+G+B)/3, I₂=(R−B)/2 and I₃−(2G−R−B)/4.
 22. The method of claim 17, wherein the step of determining a local spatial bandwidth for each pixel using a data-driven variable bandwidth scale selection process, comprises the steps of; selecting a plurality of analysis scales; for each analysis scale, partitioning the data set into one or more modes and determining a mean/covariance pair for each mode, wherein each data point is associated with a detected mode and a corresponding mean/covariance pair of the mode for each of the analysis scales; for each pixel, determining the most stable mean/covariance pair associated with the data point; and for each pixel, selecting for output the covariance of the most stable mean/covariance pair as a variable bandwidth for the data point.
 23. A method for segmenting video data, comprising the steps of: receiving video data comprising a plurality of pixels; determining an illumination invariant representation of RGB color data associated with each pixel; determining a covariance matrix associated with the illumination invariant representation of each pixel; determining modes in the video data using a variable bandwidth mean shift process, wherein local bandwidths for each pixel used in the variable bandwidth mean shift process are determined by the covariance associated with the pixel; grouping pixels that converge to the same mode; and determining image segments by identifying valleys surrounding the determined modes.
 24. The method of claim 23, wherein the step of determining an illumination invariant representation comprises transforming the RGB data to a normalized rg space, wherein r=R/(R+G+B) and g=G/(R+G+B).
 25. The method of claim 24, further comprising the step of determining a joint spatial-color domain comprising a 4-dimensional space.
 26. The method of claim 23, wherein the step of determining pixel covariance comprises the steps of: determining sensor noises and determining the covariance using the determined sensor noise. 